Automated Application of Design Patterns to Legacy Code
نویسندگان
چکیده
In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and propose a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into minipatterns and the development of corresponding minitransformations that can introduce these minipatterns to a program. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.
منابع مشابه
Program Restructuring to Introduce Design Patterns
In restructuring legacy code it may be useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that aspects of this transformation can be automated and present a nascent high-level language for describing transformations that introduce design patterns. The role of preconditions in preserving program behaviour during this ...
متن کاملTrueRefactor: An Automated Refactoring Tool to Improve Legacy System and Application Comprehensibility
Manual refactoring is a complicated process requiring intimate knowledge of the software design and underlying intended behavior of a system. This knowledge is not always available. Fully automated refactoring, using a meta-heuristic based search that is dependent on software quality metrics and code smells as a guide, eliminates the need for the developer to be intimately connected to the soft...
متن کاملService Identification Strategies in Legacy-to-SOA Migration
Legacy-to-SOA migration has been extensively researched in the last decade. Numerous approaches have been proposed. However, some of the issues still remain, such as candidate service identification in legacy code, and tool supported (semi-)automated and programming language independent service extraction. In this research, such existing issues of legacy-toSOA migration approaches are addressed...
متن کاملBridging the Gap between Legacy Procedural Code and the Automated Extraction of Design
Automated design extraction from object-oriented source code has been demonstrated in the System for Pattern Query and Recognition, a static analysis tool and accompanying Elemental Design Pattern definitions that can identify instances of known design patterns in a flexible manner. SPQR concentrates on the concepts embodied in code instead of the constructs that form the code. This paper demon...
متن کاملA Cooperative Program Understanding Environment
The large size and high-percentage of domain-specific code in most legacy systems makes it unlikely that automated understanding tools will be able to completely understand them. Yet automated tools can clearly recognize portions of the design. That suggests exploring environments in which programmer and system work together to understand legacy software. This paper describes such an environmen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999